# -*- coding:utf-8 -*-
"""
Author：Administrator
Date:2021年07月13日
"""
import re
# a = 'abcFBIabcFBICIAabc'
# r1 =re.sub('FBI', 'BBQ', a)
# print(r1)

# 把FBI替换成BBQ，第4参数写1，证明只替换第一次，默认是0（无限替换）
# a = 'abcFBIabcFBIaFBICIAabc'
# r2 = re.sub('FBI','BBQ',a ,1)
# print(r2)

# 注意：虽然字符串的内置方法  字符串.replace 也可以进行替换，但是正则表达式更强大


# 拓展知识
# a2 = 'abcFBIabcFBIaFBICIAabc'
# def 函数名(形参):
#     return '邹佺'
# r3 = re.sub('FBI',函数名,a2,1)
# print(r3)
# 分析：如果找到了FBI这个子串，会将FBI当成参数传到形参中，pass是什么都没返回，所以FBI被空字符串代替了。

# 把函数当参数传到sub的列表里，实现把业务交给函数去处理，例如将FBI替换成$FBI$

a3 = 'abcFBIabcFBIaFBICIAabc'
def 函数名(形参):
    分段获取 = 形参.group()        # group（）在正则表达式中用于获取分段截获的字符串，获取到FBI
    return '$' + 分段获取 + '$'
r4 = re.sub('FBI',函数名,a3)
print(r4)
